home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freesoft 1997 May
/
Freesoft_1997-05_cd.bin
/
inzer
/
minolta
/
drivers
/
WL400
/
W3.1 disk 1
/
SETUP.MS_
/
SETUP.MS
Wrap
Text File
|
1994-12-06
|
18KB
|
626 lines
ON ERROR GOTO QUIT
'$include 'setupapi.inc'
'$include 'msdetect.inc'
'$include 'symbol.inc'
'$include 'dialogs.inc'
'$include 'mscpydis.inc'
'$include 'font.inc'
'$include 'copyfile.inc'
'$include 'updini.inc'
'$include 'autodetc.inc'
CONST LOGO = 1
CONST EGA_HEIGHT% = 350
CONST HERCULES_HEIGHT% = 348
CONST iFotSize = 1600
DECLARE FUNCTION GetSpaceCost(a%, b$, c$) AS LONG
DECLARE FUNCTION ChkPrinterNum(iOurs%) AS INTEGER
DECLARE FUNCTION UpdatePortStatusList() AS INTEGER
EntryPoint:
iTopItem = 0
CursorSave% = 0
InstallSpeaker% = NO%
IniKeySpooler% = 2
junk% = SetCopyMode (iON%)
iStatus% = SendMessage(HwndFrame(), WM_SYSCOMMAND%, SC_MAXIMIZE%, "")
SetTitle MSG_TITLE$
SetBitmap DLL_CUIDLL$, LOGO
GOSUB GetInstallInfo
i% = GetSystemMetrics(SM_CYSCREEN)
if i% = EGA_HEIGHT% OR i% = HERCULES_HEIGHT% then
sz$ = UIStartDlg(DLL_CUIDLL$, CONTROLS_EGA, "FModelessDlgProc", 0, "")
else
sz$ = UIStartDlg(DLL_CUIDLL$, CONTROLS, "FModelessDlgProc", 0, "")
end if
IF GetWindowsMode() <> 2 THEN
InfoDlgOneButton BTN_OK$, ENHANCED_MODE_REQUIRED, HELP_ENHANCED_MODE_REQUIRED
GOTO ErrQuit
END IF
IF QueryTTEnabled() <> TRUE THEN
InfoDlgOneButton BTN_OK$, REBOOT_NO_TTE, HELP_NOTT
WHILE TRUE
InfoDlgOneButton BTN_RESTART$, RESTART_TRUETYPE, HELP_RESTART_TRUETYPE
junk% = EnableTTNeedsReboot()
i% = ExitWindowsExec(WinDir$+FILE_RESTART$, "")
WEND
END IF
InfoDlgOneButton BTN_CONTINUE$, WELCOME1, HELP_WELCOME
WHILE InitSystem(1, "", 0, "FHelpDlgProc") = 0
GOSUB AskQuit
WEND
GOSUB CalcComponent
GOSUB SelectStuff
FEnableControls FALSE
ActionInstall
FEnableControls TRUE
GOSUB DlgVerify
UpdateIniFiles
GOSUB DlgExitInstall
END
QUIT:
ON ERROR GOTO ErrQuit
IF CursorSave% <> 0 THEN
RestoreCursor CursorSave%
CursorSave% = 0
END IF
IF ERR = 0 THEN
dlg% = EXITSUCCESS
ELSE
CleanUp
dlg% = EXITFAILURE
UIPop 1
END IF
QUITL1:
IF dlg% = EXITSUCCESS THEN
iHelp% = HELP_EXITSUCCESS
ELSE
iHelp% = HELP_EXITFAILURE
END IF
FEnableControls TRUE
FInitInfo0Dialog
WHILE UIStartDlg(DLL_CUIDLL$, dlg%, "FInfo0DlgProc", iHelp%, "FHelpDlgProc") = VAL_REACTIVATE$
FInitInfo0Dialog
WEND
UIPop 1
END
ErrQuit:
dlg% = EXITFAILURE
GOTO QUITL1
AskQuit:
DoAskQuit
RETURN
GetInstallInfo:
sz$ = GetSymbolValue (SYM_SRCINFPATH$)
IF sz$ = "" THEN
sz$ = GetSymbolValue(SYM_CWDDIR$) + FILE_SETUPINF$
END IF
ReadInfFile sz$
WinDir$ = GetWindowsDir
SetSymbolValue SYM_DEST_DIR$, WinDir$
WinDrive$ = MID$(WinDir$, 1, 1)
SrcDir$ = GetSymbolValue(SYM_STF_SRCDIR$)
WinSysDir$ = GetWindowsSysDir
WinSysDrive$ = MID$(WinSysDir$, 1, 1)
nDrive% = ASC(UCASE$(WinDrive$)) - ASC("A") + 1
TestPageDir$ = PATH_TESTPAGE$
ClusterByte& = DiskClusterUnit(nDrive%)
IF (ClusterByte& AND 1) = 1 THEN
ClusterByte& = 10240
END IF
IF ClusterByte& < iFotSize THEN
ClusterByte& = iFotSize
END IF
SetRestartDir WinDir$
dlg% = EXITFAILURE
PrinterAddingIndex% = 1
MakeListFromSectionKeys SYM_PORTNAMELIST$, SECT_PORTNAME$
RETURN
CalcComponent:
FOR i% = 1 TO 3 STEP 1
AddListItem SYM_CUSTOMCHECKSTATES$, VAL_CHKON$
NEXT i%
FOR i% = 1 TO 5 STEP 1
AddListItem SYM_CUSTOMSTATUSTEXT$, ""
NEXT i%
MakeListFromSectionKeys SYM_TOTALFONTLIST$, SECT_FONTINF$
SetSymbolValue SYM_FONTSELECTED$, VAL_ALL$
CursorSave% = ShowWaitCursor()
GetFontCost 0
RemoveSymbol SYM_SECTIONLIST$
AddListItem SYM_SECTIONLIST$, SECT_DLLINF$
AddListItem SYM_SECTIONLIST$, SECT_HELPINF$
lSize& = GetSpaceCost(TRUE, SYM_SECTIONLIST$, WinDir$)
RemoveSymbol SYM_SECTIONLIST$
AddListItem SYM_SECTIONLIST$, SECT_DRIVERINF$
lSize& = lSize& + GetSpaceCost(TRUE, SYM_SECTIONLIST$, WinSysDir$)
RemoveSymbol SYM_SECTIONLIST$
AddListItem SYM_SECTIONLIST$, SECT_PCL$
lSize& = lSize& + GetSpaceCost(TRUE, SYM_SECTIONLIST$, WinSysDir$)
RemoveSymbol SYM_SECTIONLIST$
AddListItem SYM_SECTIONLIST$, SECT_PCL2$
lSize& = lSize& + GetSpaceCost(TRUE, SYM_SECTIONLIST$, WinDir$ + "wps\")
RemoveSymbol SYM_SECTIONLIST$
AddListItem SYM_SECTIONLIST$, SECT_TESTPAGELIST$
lSize& = lSize + GetSpaceCost(FALSE, SYM_SECTIONLIST$, "")
lSize& = lSize& + 2 * ClusterByte&
dwComponentSize(DRIVERFILES) = lSize&
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, DRIVERFILES, DollarFormat(lSize&/1024)
RemoveSymbol SYM_SECTIONLIST$
IF DoesIniKeyExist (WinDir$+INI_SYSTEMINI$, INI_DRIVERS$, INI_WAVE$) = 0 THEN
AddListItem SYM_SECTIONLIST$, SECT_SPKRDRVINF$
END IF
AddListItem SYM_SECTIONLIST$, SECT_SOUNDINF$
lSize& = GetSpaceCost(TRUE, SYM_SECTIONLIST$, WinSysDir$)
dwComponentSize(SOUNDFILES) = lSize&
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, SOUNDFILES, DollarFormat(lSize&/1024)
RemoveSymbol SYM_SECTIONLIST$
RestoreCursor CursorSave%
dwComponentSize(FONTFILES) = TotalFontSize
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, FONTFILES, DollarFormat(TotalFontSize/1024)
FOR i% = 1 TO MAX_COMPONENT
dwSaveComponentSize(i%) = dwComponentSize(i%)
NEXT i%
RemoveSymbol SYM_TEMPLIST$
MakeListFromSectionSize SYM_TEMPLIST$, SECT_DRIVERINF$
DriverSize& = SumNumericList (SYM_TEMPLIST$, 1, 0)
cItem% = GetListLength(SYM_PORTNAMELIST$)
FOR i% = 1 TO cItem%
AddListItem SYM_PORTSTATUSLIST$, VAL_CHKON$
NEXT i%
RETURN
SelectStuff:
iStep = METHOD_SELECT
WHILE iStep <> EXIT_SELECT_STUFF
SELECT CASE iStep
CASE METHOD_SELECT
GOSUB DlgInstallMethod
CASE CUSTOM_SELECT
GOSUB DlgCustomInstall
CASE PRINTER_SOURCE
GOSUB DlgPrinterSource
CASE CHOOSE_CONNECT
GOSUB DlgChooseConnect
CASE PRINT_PORT_SLT
GOSUB DlgPrintPortSelect
CASE PRINTER_INFO
GOSUB DlgPrinterConfig
CASE AUTO_INSTALL
GOSUB DlgAutomaticInstall
CASE ELSE
GOSUB AskQuit
END SELECT
WEND
RETURN
DlgInstallMethod:
DIM bDoInstallMethod%
DIM ExpressInstallSize&
bDoInstallMethod = TRUE
WHILE bDoInstallMethod
SetSpaceStatus
ExpressInstallSize = TotalInstallSize
FInitInstallMethodDialog WinSysDrive$, ExpressInstallSize/1024
sz$ = UIStartDlg(DLL_CUIDLL$, INSTALL_METHOD, "FInfoDlgProc", HELP_INST_METHOD, "FHelpDlgProc")
SELECT CASE sz$
CASE BTN_EXPRESS$
UIPop 1
IF DiskSpaceFree <= ExpressInstallSize THEN
DlgInstallNoSpace
ELSE
RemoveSymbol SYM_CUSTOMCHECKSTATES$
FOR i% = 1 TO 3
AddListItem SYM_CUSTOMCHECKSTATES$, VAL_CHKON$
NEXT i%
InstallPM% = YES%
iStatus% = ActionDetectPrintMgr()
IF iStatus% >= 0 THEN
GOSUB GetNextStep
bDoInstallMethod = FALSE
END IF
END IF
CASE BTN_CUSTOM$
UIPop 1
InstallPM% = NO%
iStatus% = CUSTOM_SELECT
GOSUB GetNextStep
bDoInstallMethod = FALSE
CASE BTN_EXIT$
GOSUB AskQuit
END SELECT
WEND
RETURN
DlgCustomInstall:
DIM bDoCustomInstall%, iRet%
bDoCustomInstall = TRUE
RemoveSymbol SYM_TEMPFONTLIST$
WHILE bDoCustomInstall
SetSymbolValue SYM_TEMPFONTLIST$, GetSymbolValue(SYM_FONTSELECTED$)
SetSpaceStatus
SetSymbolValue SYM_CHECKITEMSSTATE$, GetSymbolValue(SYM_CUSTOMCHECKSTATES$)
SetSymbolValue SYM_STATUSITEMSTEXT$, GetSymbolValue(SYM_CUSTOMSTATUSTEXT$)
sz$ = UIStartDlg(DLL_CUIDLL$, CUSTOM_INSTALL, "FCustInstDlgProc", HELP_CUSTOM_INST, "FHelpDlgProc")
SELECT CASE sz$
CASE BTN_FONTS$
UIPop 1
SetSymbolValue SYM_SAVEFONTLIST$, GetSymbolValue(SYM_FONTSELECTED$)
SetSymbolValue SYM_FONTSELECTED$, GetSymbolValue(SYM_TEMPFONTLIST$)
dwComponentSize(0) = dwComponentSize(FONTFILES)
szSaveStatus$ = GetListItem(SYM_CUSTOMCHECKSTATES$, FONTFILES)
IF szSaveStatus$ = VAL_CHKOFF$ THEN
ReplaceListItem SYM_CUSTOMCHECKSTATES$, FONTFILES, VAL_CHKON$
END IF
sz$ = DlgFontSelection()
IF sz$ = BTN_OK$ THEN
IF GetListLength(SYM_FONTSELECTED$) > 0 THEN
IF GetListItem(SYM_FONTSELECTED$, 1) = VAL_ALL$ THEN
sz$ = VAL_CHKON$
ELSE
sz$ = VAL_CHKGREY$
END IF
ELSE
sz$ = VAL_CHKOFF$
END IF
ReplaceListItem SYM_CUSTOMCHECKSTATES$, FONTFILES, sz$
ELSE
SetSymbolValue SYM_FONTSELECTED$, GetSymbolValue(SYM_SAVEFONTLIST$)
dwComponentSize(FONTFILES) = dwComponentSize(0)
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, FONTFILES, DollarFormat(dwComponentSize(FONTFILES)/1024)
IF szSaveStatus$ = VAL_CHKOFF$ THEN
ReplaceListItem SYM_CUSTOMCHECKSTATES$, FONTFILES, szSaveStatus$
END IF
END IF
CASE BTN_CONTINUE$
IF DiskSpaceFree <= TotalInstallSize THEN
DlgInstallNoSpace
ELSEIF GetListItem (SYM_CUSTOMCHECKSTATES$, DRIVERFILES) = VAL_CHKOFF$ THEN
IF (GetListItem (SYM_CUSTOMCHECKSTATES$, SOUNDFILES) = VAL_CHKOFF$) AND (GetListItem (SYM_CUSTOMCHECKSTATES$, FONTFILES) = VAL_CHKOFF$) THEN
InfoDlgOneButton BTN_OK$, INSTALL_NOTHING, HELP_NOACTION
ELSE
iRet = iYES%
IF iRet = iYES% THEN
UIPop 1
iStep = EXIT_SELECT_STUFF
sz$ = GetIniKeyString (INI_WININI$, INI_WINDOWS, INI_SPOOLER$)
IF UCASE$(sz$) = UCASE$(INI_YES$) THEN
IniKeySpooler% = 3
END IF
bDoCustomInstall = FALSE
END IF
END IF
ELSE
UIPop 1
iStatus% = ActionDetectPrintMgr()
IF iStatus >= 0 THEN
GOSUB GetNextStep
bDoCustomInstall = FALSE
END IF
END IF
CASE BTN_BACK$, BTN_CANCEL$
UIPop 1
iStep = PopStep()
FOR i% = 1 TO 3 STEP 1
dwComponentSize(i%) = dwSaveComponentSize(i%)
ReplaceListItem SYM_CUSTOMCHECKSTATES$, i%, VAL_CHKON$
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, i%, DollarFormat(dwComponentSize(i%)/1024)
NEXT i%
SetSymbolValue SYM_FONTSELECTED$, VAL_ALL$
bDoCustomInstall = FALSE
CASE "CHK1"
ToggleCheckStatus SYM_CUSTOMCHECKSTATES$, DRIVERFILES
IF GetListItem(SYM_CUSTOMCHECKSTATES$, DRIVERFILES) = VAL_CHKON$ THEN
dwComponentSize(DRIVERFILES) = dwSaveComponentSize(DRIVERFILES)
ELSE
dwComponentSize(DRIVERFILES) = 0
END IF
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, DRIVERFILES, DollarFormat(dwComponentSize(DRIVERFILES)/1024)
CASE "CHK2"
ToggleCheckStatus SYM_CUSTOMCHECKSTATES$, SOUNDFILES
IF GetListItem(SYM_CUSTOMCHECKSTATES$, SOUNDFILES) = VAL_CHKON$ THEN
dwComponentSize(SOUNDFILES) = dwSaveComponentSize(SOUNDFILES)
ELSE
dwComponentSize(SOUNDFILES) = 0
END IF
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, SOUNDFILES, DollarFormat(dwComponentSize(SOUNDFILES)/1024)
CASE "CHK3"
ToggleCheckStatus SYM_CUSTOMCHECKSTATES$, FONTFILES
IF GetListItem(SYM_CUSTOMCHECKSTATES$, FONTFILES) = VAL_CHKON$ THEN
SetSymbolValue SYM_FONTSELECTED$, VAL_ALL$
dwComponentSize(FONTFILES) = dwSaveComponentSize(FONTFILES)
ELSE
RemoveSymbol SYM_FONTSELECTED$
dwComponentSize(FONTFILES) = 0
END IF
ReplaceListItem SYM_CUSTOMSTATUSTEXT$, FONTFILES, DollarFormat(dwComponentSize(FONTFILES)/1024)
CASE BTN_EXIT$
GOSUB AskQuit
END SELECT
WEND
RemoveSymbol SYM_TEMPFONTLIST$
RETURN
DlgPrinterSource:
RemoveSymbol SYM_STATUSITEMSTEXT$
iStatus = CHOOSE_CONNECT
GOSUB GetNextStep
RETURN
DlgChooseConnect:
DIM bDoChooseConnect%
bDoChooseConnect = TRUE
WHILE bDoChooseConnect
FInitInfoDialog
sz$ = UIStartDlg(DLL_CUIDLL$, NO_LOCAL_PRINTER, "FInfoDlgProc", HELP_NO_LOCAL, "FHelpDlgProc")
SELECT CASE sz$
CASE BTN_EXIT$
GOSUB AskQuit
CASE BTN_AUTOMATIC$
UIPop 1
sz$ = ActionDetectPrinter()
IF sz$ = UCASE$(INI_YES$) THEN
iStatus = AUTO_INSTALL
GOSUB GetNextStep
bDoChooseConnect = FALSE
END IF
CASE BTN_MANUAL$
UIPop 1
iStatus = PRINT_PORT_SLT
GOSUB GetNextStep
bDoChooseConnect = FALSE
END SELECT
WEND
RETURN
DlgPrintPortSelect:
DIM bDoPrintPortSelect%, iSupportNet%
bDoPrintPortSelect = TRUE
WHILE bDoPrintPortSelect
iSupportNet% = ActionDetectPorts()
IDC_A& = 401
RemoveSymbol SYM_BUTTONSGREYED$
IF iSupportNet = 0 THEN
SetSymbolValue SYM_BUTTONSGREYED$, itoa(IDC_A&)
END IF
SetSymbolValue SYM_LISTITEMSIN$, GetSymbolValue(SYM_PORTSDESC$)
SetSymbolValue SYM_LISTITEMSOUT$, ""
sz$ = UIStartDlg(DLL_CUIDLL$, PRINT_PORT_SELECT, "FListDlgProc", HELP_PORT_SELECT, "FHelpDlgProc")
IF sz$ = BTN_SELECT$ THEN
PortAdding$ = GetSymbolValue(SYM_LISTITEMSOUT$)
IF PortAdding$ <> "" THEN
UIPop 1
iStatus = DlgPrintPage()
IF iStatus >= 0 THEN
GOSUB GetNextStep
bDoPrintPortSelect = FALSE
END IF
END IF
ELSEIF sz$ = BTN_NETWORKPRN$ THEN
UIPop 1
PortAdding$ = GetSymbolValue(SYM_LISTITEMSOUT$)
FEnableControls FALSE
IF (iSupportNet% AND 64) THEN
i% = WNetConnectionDialog(HwndFrame(), 3)
ELSEIF (iSupportNet% AND 4) THEN
i% = WNetConnectDialog(HwndFrame(), 3)
ELSEIF (iSupportNet% AND 1) THEN
i% = PrinterSetup(HwndFrame(), 101)
END IF
FEnableControls TRUE
ELSEIF (sz$ = BTN_BACK$) OR (sz$ = BTN_CANCEL$) THEN
UIPop 1
iStep = PopStep()
bDoPrintPortSelect = FALSE
ELSEIF sz$ = BTN_EXIT$ THEN
GOSUB AskQuit
END IF
WEND
RETURN
DlgPrinterConfig:
DIM bDoPrinterConfig%, bDoMore%
InitPrinterConfigDlg PrinterAddingIndex%
SetSymbolValue SYM_COMBO3$, DEFAULT_COMPAT$
SetSymbolValue SYM_COMBO1$, DEFAULT_NAME$
bDoPrinterConfig = TRUE
WHILE bDoPrinterConfig
sz$ = UIStartDlg(DLL_CUIDLL$, PRINTER_CONFIG, "FInfo0DlgProc", HELP_MANUAL_CONFIG, "FHelpDlgProc")
SELECT CASE sz$
CASE BTN_CONTINUE$
IF (GetListLength (SYM_LISTITEMSIN$) = 0) OR (GetListLength (SYM_LISTITEMSOUT$) = 0) OR (GetListLength (SYM_COMBO3$) = 0) THEN
InfoDlgOneButton BTN_OK$, INFO_REQUIRED, HELP_INFO_REQUIRED
ELSEIF EditPrinterConfiginfo(VAL(GetSymbolValue(SYM_COMBO3$))) = TRUE THEN
UIPop 1
FInitInfo0Dialog
iStatus = AUTO_INSTALL
GOSUB GetNextStep
bDoPrinterConfig = FALSE
END IF
CASE BTN_PRINT$
IF MID$(PortAdding$, 9, 3) = "not" THEN
InfoDlgOneButton BTN_OK$, NO_CONFIG_PAGE, HELP_COMM_ERROR
ELSE
CursorSave% = ShowWaitCursor()
sz$ = GetIniKeyString (INI_WININI$, INI_WINDOWS$, INI_DEVICE$)
i% = FileToComm(GetSymbolValue(SYM_CWDDIR$)+FILE_CONFIGPAGE$, MID$(PortAdding$, 1, 4),HwndFrame())
RestoreCursor CursorSave%
CursorSave% = 0
IF i% = TRUE THEN
InfoDlgOneButton BTN_OK$, NO_CONFIG_PAGE, HELP_COMM_ERROR
ENDIF
END IF
CASE BTN_BACK$, BTN_CANCEL$
UIPop 1
iStep = PopStep()
bDoPrinterConfig = FALSE
CASE BTN_EXIT$
GOSUB AskQuit
END SELECT
WEND
RETURN
DlgAutomaticInstall:
DIM bDoAutomaticInstall%, iOurs%
bDoAutomaticInstall = TRUE
WHILE bDoAutomaticInstall
ResetStepStack
FInitAutoDialog
bAvailPort% = UpdatePortStatusList()
IDC_A& = 401
IF bAvailPort% = FALSE THEN
SetSymbolValue SYM_BUTTONSGREYED$, itoa(IDC_A&)
END IF
sz$ = UIStartDlg(DLL_CUIDLL$, AUTOMATIC_INSTALL, "FMultiDlgProc", HELP_INSTALL_PRINTERS, "FHelpDlgProc")
SELECT CASE sz$
CASE BTN_CONTINUE$
cItem% = GetListLength(SYM_PORTNAMELIST$)
iOurs% = 0
FOR i% = 1 TO cItem%
j% = GetListLength(GetListItem(SYM_PORTNAMELIST$, i%))
IF j% > 2 THEN
iOurs% = iOurs% + 1
END IF
NEXT i%
IF iOurs% > 0 THEN
IF ChkPrinterNum(iOurs%) = FALSE THEN
UIPop 1
iStep = EXIT_SELECT_STUFF
bDoAutomaticInstall = FALSE
END IF
ELSE
InfoDlgOneButton BTN_OK$, PRINTER_LIST_EMPTY, HELP_PRINTER_LIST_EMPTY
END IF
CASE BTN_ADDITIONAL$
UIPop 1
iStatus = PRINT_PORT_SLT
GOSUB GetNextStep
bAvailPort% = UpdatePortStatusList()
bDoAutomaticInstall = FALSE
CASE BTN_DELETE$
Gosub DlgDeleteAutoDetect
CASE BTN_EXIT$
GOSUB AskQuit
END SELECT
WEND
RETURN
DlgDeleteAutoDetect:
WHILE TRUE
sz$ = UIStartDlg(DLL_CUIDLL$, CANT_DELETE_AUTO, "FInfo0DlgProc", HELP_NO_DELETE, "FHelpDlgProc")
IF sz$ = BTN_OK$ THEN
UIPop 1
RETURN
ELSEIF sz$ = BTN_EXIT$ THEN
GOSUB AskQuit
END IF
WEND
DlgVerify:
RemoveSymbol SYM_TEMPLIST$
IF GetListItem(SYM_CUSTOMCHECKSTATES$, DRIVERFILES) = VAL_CHKOFF$ THEN
sz$ = MSG_NODRIVER$
ELSE
sz$ = MSG_WITHDRIVER$
END IF
AddListItem SYM_TEMPLIST$, sz$
sz1$ = szW$ + szSnd$
IF GetListItem(SYM_CUSTOMCHECKSTATES$, SOUNDFILES) = VAL_CHKOFF$ THEN
sz$ = MSG_NOSOUND$
ELSE
sz$ = MSG_WITHSOUND$
END IF
AddListItem SYM_TEMPLIST$, sz$
sz1$ = szT$
IF GetListItem(SYM_CUSTOMCHECKSTATES$, FONTFILES) = VAL_CHKOFF$ THEN
sz$ = MSG_NOTRUETYPE$
ELSE
j% = GetListLength (SYM_FONTSELECTED$)
IF (j% = 1) AND (GetListItem(SYM_FONTSELECTED$, 1) = VAL_ALL$) THEN
j% = GetListLength (SYM_TOTALFONTLIST$)
ENDIF
sz$ = MSG_WITHTRUETYPE1$ + STR$(j%)
IF j% > 1 THEN
sz$ = sz$ + MSG_WITHTRUETYPE2$
ELSE
sz$ = sz$ + MSG_WITHTRUETYPE3$
END IF
sz$ = sz$ + MSG_WITHTRUETYPE4$
END IF
AddListItem SYM_TEMPLIST$, sz$
SELECT CASE IniKeySpooler%
CASE 1
sz$ = MSG_USEPRINTMGR$
CASE 3
sz$ = MSG_KEEPPRINTMGR$
CASE ELSE
sz$ = MSG_NOPRINTMGR$
END SELECT
AddListItem SYM_TEMPLIST$, sz$
IF InstallSpeaker% = YES% THEN
sz$ = MSG_WITHSPEAKER$
ELSE
sz$ = MSG_NOSPEAKER$
END IF
AddListItem SYM_TEMPLIST$, sz$
SetSymbolValue SYM_STATUSITEMSTEXT$, GetSymbolValue(SYM_TEMPLIST$)
InfoDlgAOneButton BTN_OK$, VERIFY, HELP_VERIFY
sz$ = ""
RemoveSymbol SYM_TEMPLIST$
RETURN
DlgExitInstall:
WHILE TRUE
InfoDlgOneButton BTN_RESTART$, INSTALL_COMPLETE, HELP_RESTARTWIN
IF RestartListEmpty() THEN
i% = ExitWindowsExec(WinDir$+FILE_RESTART$, "")
ELSE
i% = ExitExecRestart()
END IF
WEND
RETURN
GetNextStep:
bRet% = PushStep(iStep, iStatus)
IF bRet% THEN
iStep = iStatus
ELSE
iStep = -1
END IF
RETURN
FUNCTION GetSpaceCost(bTestExist%, SectionList$, DestDir$) STATIC AS LONG
TotalSize& = DWGetSpaceCost(bTestExist%, ClusterByte&, SectionList$, DestDir$)
GetSpaceCost& = TotalSize&
END FUNCTION
FUNCTION UpdatePortStatusList() STATIC AS INTEGER
DIM bRet%
bRet% = FALSE
cItem% = GetListLength(SYM_PORTNAMELIST$)
IF cItem% = GetListLength(SYM_PORTSTATUSLIST$) THEN
FOR i% = 1 TO cItem%
j% = GetListLength(GetListItem(SYM_PORTNAMELIST$, i%))
IF j% > 2 THEN
ReplaceListItem SYM_PORTSTATUSLIST$, i%, VAL_CHKOFF$
ELSE
ReplaceListItem SYM_PORTSTATUSLIST$, i%, VAL_CHKON$
bRet% = TRUE
END IF
NEXT i%
END IF
UpdatePortStatusList = bRet%
END FUNCTION
FUNCTION ChkPrinterNum(iOurs%) STATIC AS INTEGER
DIM iCount%
DIM iNeeded%
szFile$ = WinDir$ + INI_WININI$
ChkPrinterNum = FALSE
IF DoesIniKeyExist(szFile$, INI_DEVICES$, MSG_WPS$) = 0 THEN
iCount% = GetPrinterNum(INI_DEVICES$)
IF iCount%+iOurs% > MAX_PRINTER THEN
iNeeded% = iCount% + iOurs% - MAX_PRINTER
szText$ = MSG_OVERPRINTER1$
szText$ = szText$ + str$(iCount%)
szText$ = szText$ + MSG_OVERPRINTER2$
szText$ = szText$ + str$(iNeeded%)
IF iNeeded% <> 1 THEN
szText$ = szText$ + MSG_OVERPRINTER3$
ELSE
szText$ = szText$ + MSG_OVERPRINTER4$
END IF
szText$ = szText$ + MSG_OVERPRINTER5$
FEnableControls FALSE
i% = DoMsgBox(szText$,MSG_WPS$,48)
FEnableControls TRUE
ChkPrinterNum = TRUE
END IF
END IF
szText$ = ""
szFile$ = ""
END FUNCTION